<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">
<ui:composition template="/pages/templates/default.xhtml">
	<ui:define name="conteudo">
		<f:view>
			<p align="left">
				<b>Utilização da API ProLinear</b> <BR /><BR />Para utilizar a API
				ProLinear basta apenas acessar a página do projeto, no endereço
				<a href="http://code.google.com/p/prolinear-core/">http://code.google.com/p/prolinear-core/</a> e na seção de downloads,
				realizar o download dos arquivos prolinear-core.jar e jep-2.4.1.jar.
				Após realizar o download basta adicionar os dois arquivos no
				classpath de seu projeto e você estará apto a utilizar os recursos
				da API ProLinear. O trecho abaixo mostra como é feita a resolução de
				um problema de programação linear e a recuperação dos resultados.
				<br/>
				<br/>try {
<br/> SimplexSolver solver = new SimplexSolver();
<br/> Solucao s = solver.solve("*modelagem do problema*");
<br/>//set de valores encontrados para as variáveis
<br/>for(Variavel v:s.getResultados().keySet()){
<br/>//valor de cada variável
<br/>Double valor = s.getValorVariavel(v);
<br/>}
<br/>//valor otimizado do problema
<br/>Double valorTotalEncontrado = s.getValorOtimo();
<br/>for(Restricao r:s.getProblema().getRestricoes()){
<br/>//valor original do lado direito da equação
<br/>Double valorOriginal = r.getValorEquacaoOriginal();
<br/>//valor da folga da restrição
<br/>Double folgaRestricao = r.getFolga();
<br/>//valor do lado direito, descontando a folta = valorOriginal - folgaRestricao
<br/>Double valorSemFolga = r.getValorOtimizado();
<br/>}
<br/>} catch (LexicalError e) {
<br/>//tratar erros léxicos
<br/>} catch (SyntaticError e) {
<br/>//tratar erros sintáticos
<br/>} catch (SemanticError e) {
<br/>//tratar erros semânticos
<br/>} catch (UnboundedModelException e) {
<br/>//tratar erros onde o modelo não possui limites
<br/>} catch (InfeasibleModelException e) {
<br/>//tratar erros onde o problema não possui solução
<br/>}
				
			</p>
		</f:view>
	</ui:define>
</ui:composition>
</html>
